#math297#\n on output;SPMamp;
;SPMamp;CBREAK;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;half-cooked mode;SPMamp;
;SPMamp;ECHO;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;echo input;SPMamp;
;SPMamp;XTABS;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;expand tabs on output;SPMamp;
;SPMamp;RAW;SPMamp;;SPMamp;0x0010;SPMamp;;SPMamp;no I/O processing;SPMamp;
;SPMamp;LCASE;SPMamp;;SPMamp;0x0020;SPMamp;;SPMamp;will never do anything;SPMamp;
;SPMamp;TANDEM;SPMamp;;SPMamp;0x0000;SPMamp;;SPMamp;not needed;SPMamp;
;SPMamp;META;SPMamp;;SPMamp;0x0100;SPMamp;;SPMamp;Alternate as meta key;SPMamp;
;SPMamp;EVENP;SPMamp;;SPMamp;0x4000;SPMamp;;SPMamp;even parity;SPMamp;
;SPMamp;ODDP;SPMamp;;SPMamp;0x8000;SPMamp;;SPMamp;odd parity;SPMamp;
;SPMamp;ANYP;SPMamp;;SPMamp;;SPMamp;;SPMamp;speed betw. 300--9600 Bd;SPMamp;
;SPMamp;ALLDELAY;SPMamp;;SPMamp;0;SPMamp;;SPMamp;;SPMamp;
<#1858#>Signals<#1858#>
<#1859#>#tex2html_accent_inline3763#<#1859#><#1861#>section<#1861#><#1862#>Signals<#1862#><#1863#><#1863#>
0=<#1864#>Routines concerned: <#1864#>=0
=10 <#518#>#tex2html_accent_inline3764#<#518#>(), <#519#>#tex2html_accent_inline3765#<#519#>()
#include signal.h;SPMgt;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#523#>
<#523#>
;SPMamp;SIGNULL;SPMamp;;SPMamp;0;SPMamp;;SPMamp;not really a signal;SPMamp;
;SPMamp;SIGHUP;SPMamp;;SPMamp;1;SPMamp;;SPMamp;hangup signal;SPMamp;
;SPMamp;SIGINT;SPMamp;;SPMamp;2;SPMamp;;SPMamp;sent by ^C;SPMamp;
;SPMamp;SIGQUIT;SPMamp;;SPMamp;3;SPMamp;;SPMamp;quit signal;SPMamp;
;SPMamp;SIGILL;SPMamp;;SPMamp;4;SPMamp;;SPMamp;illegal instruction;SPMamp;
;SPMamp;SIGTRAP;SPMamp;;SPMamp;5;SPMamp;;SPMamp;trace trap;SPMamp;
;SPMamp;SIGABRT;SPMamp;;SPMamp;6;SPMamp;;SPMamp;abort signal;SPMamp;
;SPMamp;SIGIOT;SPMamp;;SPMamp;SIGABRT;SPMamp;;SPMamp;;SPMamp;
;SPMamp;SIGPRIV;SPMamp;;SPMamp;7;SPMamp;;SPMamp;privilege violation;SPMamp;
;SPMamp;SIGEMT;SPMamp;;SPMamp;SIGPRIV;SPMamp;;SPMamp;;SPMamp;
;SPMamp;SIGFPE;SPMamp;;SPMamp;8;SPMamp;;SPMamp;divide by zero;SPMamp;
;SPMamp;SIGKILL;SPMamp;;SPMamp;9;SPMamp;;SPMamp;cannot be ignored;SPMamp;
;SPMamp;SIGBUS;SPMamp;;SPMamp;10;SPMamp;;SPMamp;bus error;SPMamp;
;SPMamp;SIGSEGV;SPMamp;;SPMamp;11;SPMamp;;SPMamp;illegal mem. reference;SPMamp;
;SPMamp;SIGSYS;SPMamp;;SPMamp;12;SPMamp;;SPMamp;bad arg.~to a syscall;SPMamp;
;SPMamp;SIGPIPE;SPMamp;;SPMamp;13;SPMamp;;SPMamp;broken pipe;SPMamp;
;SPMamp;SIGALRM;SPMamp;;SPMamp;14;SPMamp;;SPMamp;alarm clock;SPMamp;
;SPMamp;SIGTERM;SPMamp;;SPMamp;15;SPMamp;;SPMamp;software term.~signal;SPMamp;
;SPMamp;SIGURG;SPMamp;;SPMamp;16;SPMamp;;SPMamp;urg.~cond.~on I/O chan.;SPMamp;
;SPMamp;SIGSTOP;SPMamp;;SPMamp;17;SPMamp;;SPMamp;stop sig.~not from term.;SPMamp;
;SPMamp;SIGTSTP;SPMamp;;SPMamp;18;SPMamp;;SPMamp;stop sig.~from terminal;SPMamp;
;SPMamp;SIGCONT;SPMamp;;SPMamp;19;SPMamp;;SPMamp;cont.~stopped process;SPMamp;
;SPMamp;SIGCHLD;SPMamp;;SPMamp;20;SPMamp;;SPMamp;child stopped or exited;SPMamp;
;SPMamp;SIGTTIN;SPMamp;;SPMamp;21;SPMamp;;SPMamp;read by bg proc.;SPMamp;
;SPMamp;SIGTTOU;SPMamp;;SPMamp;22;SPMamp;;SPMamp;write by bg proc.;SPMamp;
;SPMamp;SIGIO;SPMamp;;SPMamp;23;SPMamp;;SPMamp;I/O possible on a descr.;SPMamp;
;SPMamp;SIGXCPU;SPMamp;;SPMamp;24;SPMamp;;SPMamp;CPU time exhausted;SPMamp;
;SPMamp;SIGXFSZ;SPMamp;;SPMamp;25;SPMamp;;SPMamp;file size lim.~exceeded;SPMamp;
;SPMamp;SIGVTALRM;SPMamp;;SPMamp;26;SPMamp;;SPMamp;virtual timer alarm;SPMamp;
;SPMamp;SIGPROF;SPMamp;;SPMamp;27;SPMamp;;SPMamp;profiling timer expired;SPMamp;
;SPMamp;SIGWINCH;SPMamp;;SPMamp;28;SPMamp;;SPMamp;window size changed;SPMamp;
;SPMamp;SIGUSR;SPMamp;;SPMamp;29;SPMamp;;SPMamp;user signal 1;SPMamp;
;SPMamp;SIGUSR;SPMamp;;SPMamp;30;SPMamp;;SPMamp;user signal 2;SPMamp;
<#1869#>Password Information<#1869#>
<#1870#>#tex2html_accent_inline3766#<#1870#><#1872#>section<#1872#><#1873#>Password Information<#1873#><#1874#><#1874#>
0=<#1875#>Routines concerned: <#1875#>=0
=10 <#624#>#tex2html_accent_inline3767#<#624#>(), <#625#>#tex2html_accent_inline3768#<#625#>(), <#626#>#tex2html_accent_inline3769#<#626#>()
#include pwd.h;SPMgt;
<#1877#>#tex2html_accent_inline3770#<#1877#>
by
char &sstarf#star;pw_name;<#628#>login name<#628#>
char &sstarf#star;pw_passwd;<#629#>encrypted password<#629#>
int pw_uid;<#630#>numeric user-id<#630#>
int pw_gid;<#631#>numeric group-id<#631#>
char &sstarf#star;pw_gecos;<#632#>GECOS field <#632#>
char &sstarf#star;pw_dir;<#633#>home directory<#633#>
char &sstarf#star;pw_shell;<#634#>default shell<#634#>
} ;
<#1879#>Group Information<#1879#>
<#1880#>#tex2html_accent_inline3772#<#1880#><#1882#>section<#1882#><#1883#>Group Information<#1883#><#1884#><#1884#>
0=<#1885#>Routines concerned: <#1885#>=0
=10 <#637#>#tex2html_accent_inline3773#<#637#>(), <#638#>#tex2html_accent_inline3774#<#638#>()
#include grp.h;SPMgt;
<#1887#>#tex2html_accent_inline3775#<#1887#>
by
char &sstarf#star;gr_name;<#640#>group name<#640#>
char &sstarf#star;gr_passwd;<#641#><#641#>
int gr_gid;<#642#>numerical group-id<#642#>
char &sstarf#star;&sstarf#star;gr_mem;<#643#>group members<#643#>
} ;
<#1889#>BIOS Parameter Block<#1889#>
<#1890#>#tex2html_accent_inline3777#<#1890#><#1892#>section<#1892#><#1893#>BIOS Parameter Block<#1893#><#1894#><#1894#>
0=<#1895#>Routines concerned: <#1895#>=0
=10 <#646#>#tex2html_accent_inline3778#<#646#>()
#include osbind.h;SPMgt;
<#1897#>#tex2html_accent_inline3779#<#1897#>
by
short recsiz;<#648#>bytes per sector<#648#>
short clsiz;<#649#>sectors per cluster<#649#>
short clsizb;<#650#>bytes per cluster<#650#>
short rdlen;<#651#>root directory size<#651#>
short fsiz;<#652#>length of fat<#652#>
short fatrec;<#653#>start sec. of 2nd FAT<#653#>
short datrec;<#654#>1st data sector<#654#>
short numcl;<#655#>no. of clusters on medium<#655#>
short bflags;<#656#>some flags<#656#>
} _BPB;
<#1899#>Serial I/O Buffer<#1899#>
<#1900#>#tex2html_accent_inline3781#<#1900#><#1902#>section<#1902#><#1903#>Serial I/O Buffer<#1903#><#1904#><#1904#>
0=<#1905#>Routines concerned: <#1905#>=0
=10 <#659#>#tex2html_accent_inline3782#<#659#>()
#include osbind.h;SPMgt;
<#1907#>#tex2html_accent_inline3783#<#1907#>
by
char &sstarf#star;ibuf;<#661#>ptr to data buffer<#661#>
short ibufsiz;<#662#>len. of buffer<#662#>
short ibufhd;<#663#>next write pos.<#663#>
short ibuftl;<#664#>next read pos.<#664#>
short ibuflow;<#665#>low watermark<#665#>
short ibufhi;<#666#>high watermark<#666#>
} _IOREC;
<#1909#>Keyboardtables<#1909#>
<#1910#>#tex2html_accent_inline3785#<#1910#><#1912#>section<#1912#><#1913#>Keyboardtables<#1913#><#1914#><#1914#>
0=<#1915#>Routines concerned: <#1915#>=0
=10 <#669#>#tex2html_accent_inline3786#<#669#>()
<#1917#>#tex2html_accent_inline3787#<#1917#>
by
void &sstarf#star;unshift;<#671#>ptr normal keys<#671#>
void &sstarf#star;shift;<#672#>ptr to shifted keys<#672#>
void &sstarf#star;caps;<#673#>ptr to capslock keys<#673#>
} KEYTAB;
<#1919#>KBDVECS Structure<#1919#>
<#1920#>#tex2html_accent_inline3789#<#1920#><#1922#>section<#1922#><#1923#>KBDVECS Structure<#1923#><#1924#><#1924#>
0=<#1925#>Routines concerned: <#1925#>=0
=10 <#676#>#tex2html_accent_inline3790#<#676#>()
#include osbind.h;SPMgt;
=0.48
<#1927#>#tex2html_accent_inline3791#<#1927#>
by
void (&sstarf#star;midivec)(void);<#678#>MIDI input<#678#>
void (&sstarf#star;vkbderr)(void);<#679#>keyboard error<#679#>
void (&sstarf#star;vmiderr)(void);<#680#>MIDI error<#680#>
void (&sstarf#star;statvec)(void &sstarf#star;);<#681#>read IKBD status<#681#>
void (&sstarf#star;mousevec)(void &sstarf#star;);<#682#>mouse polling<#682#>
void (&sstarf#star;clockvec)(void &sstarf#star;);<#683#>clock polling<#683#>
void (&sstarf#star;joyvec)(void &sstarf#star;);<#684#>joystick polling<#684#>
void (&sstarf#star;midisys)(void);<#685#>MIDI systemvector<#685#>
void (&sstarf#star;ikbdsys)(void);<#686#>IKBD systemvector<#686#>
char kbstate;<#687#><#687#>
} _KBDVECS;=0.44
<#1929#>Disk Tranfer Area<#1929#>
<#1930#>#tex2html_accent_inline3793#<#1930#><#1932#>section<#1932#><#1933#>Disk Tranfer Area<#1933#><#1934#><#1934#>
0=<#1935#>Routines concerned: <#1935#>=0
=10 <#690#>#tex2html_accent_inline3794#<#690#>(), <#691#>#tex2html_accent_inline3795#<#691#>()
#include osbind.h;SPMgt;
<#1937#>#tex2html_accent_inline3796#<#1937#>
by
char dta_buf[21];<#693#><#693#>
char dta_attribute;<#694#>file attribute<#694#>
unsigned~short dta_time;<#695#><#695#>
unsigned~short dta_date;<#696#><#696#>
long dta_size;<#697#>file size<#697#>
char dta_name[14];<#698#>file name<#698#>
} ;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#703#>
<#703#>
;SPMamp;FA_RDONLY;SPMamp;;SPMamp;0x01;SPMamp;;SPMamp;file is readonly;SPMamp;
;SPMamp;FA_HIDDEN;SPMamp;;SPMamp;0x02;SPMamp;;SPMamp;file is hidden;SPMamp;
;SPMamp;FA_SYSTEM;SPMamp;;SPMamp;0x04;SPMamp;;SPMamp;system file;SPMamp;
;SPMamp;FA_LABEL;SPMamp;;SPMamp;0x08;SPMamp;;SPMamp;entry is volume label;SPMamp;
;SPMamp;FA_DIR;SPMamp;;SPMamp;0x10;SPMamp;;SPMamp;entry is a directory;SPMamp;
;SPMamp;FA_CHANGED;SPMamp;;SPMamp;0x20;SPMamp;;SPMamp;file has changed;SPMamp;
<#1943#>Diskinfo<#1943#>
<#1944#>#tex2html_accent_inline3798#<#1944#><#1946#>section<#1946#><#1947#>Diskinfo<#1947#><#1948#><#1948#>
0=<#1949#>Routines concerned: <#1949#>=0
=10 <#723#>#tex2html_accent_inline3799#<#723#>()
<#1951#>#tex2html_accent_inline3800#<#1951#>
by
long b_free;<#725#>no. of free clusters<#725#>
long b_total;<#726#>no. of clusters<#726#>
long b_secsize;<#727#>bytes per sector<#727#>
long b_clsiz;<#728#>sect. per cluster<#728#>
} DISKINFO;
<#1953#>File Timestamp<#1953#>
<#1954#>#tex2html_accent_inline3802#<#1954#><#1956#>section<#1956#><#1957#>File Timestamp<#1957#><#1958#><#1958#>
0=<#1959#>Routines concerned: <#1959#>=0
=10 <#731#>#tex2html_accent_inline3803#<#731#>()
#include osbind.h;SPMgt;
<#1961#>#tex2html_accent_inline3804#<#1961#>
by
short time;<#1685#>time as in <#733#>#tex2html_accent_inline3805#<#733#><#1685#>
short date;<#1686#>date as in <#734#>#tex2html_accent_inline3806#<#734#><#1686#>
} _DOSTIME;
A good alternative might be:
<#1964#>#tex2html_accent_inline3808#<#1964#>
by
timeinfo time;<#1687#>time as in <#737#>#tex2html_accent_inline3809#<#737#><#1687#>
dateinfo date;<#1688#>date as in <#738#>#tex2html_accent_inline3810#<#738#><#1688#>
} _DOSTIME;
<#1967#>#tex2html_accent_inline3812#<#1967#>
by
unsigned hours : 5;<#741#><#741#>
unsigned minutes : 6;<#742#><#742#>
unsigned seconds : 5;<#743#><#743#>
} timeinfo;
<#1970#>#tex2html_accent_inline3814#<#1970#>
by
unsigned year : 7;<#746#><#746#>
unsigned month : 4;<#747#><#747#>
unsigned day : 5;<#748#><#748#>
} dateinfo;
<#1972#>HDINFO Structure<#1972#>
<#1973#>#tex2html_accent_inline3816#<#1973#><#1975#>section<#1975#><#1976#>HDINFO Structure<#1976#><#1977#><#1977#>
#include sysvars.h;SPMgt;
<#1979#>#tex2html_accent_inline3817#<#1979#>
by
short puns;<#752#><#752#>
char v_p_un[16];<#753#><#753#>
long pstart[16];<#754#><#754#>
short bpbs[1];<#755#>really 16 BPB's<#755#>
} HDINFO;
<#1981#>XBRA<#1981#>
<#1982#>#tex2html_accent_inline3819#<#1982#><#1984#>section<#1984#><#1985#>XBRA<#1985#><#1986#><#1986#>
#include xbra.h;SPMgt;
<#1988#>#tex2html_accent_inline3820#<#1988#>
by
long xbra_magic;<#759#><#759#>
long gnuc_magic;<#760#><#760#>
xptr next;<#761#><#761#>
short jump;<#762#><#762#>
void (*this)(void);<#763#><#763#>
} xbra_struct;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#768#>
<#768#>
;SPMamp;_XBRA_MAGIC;SPMamp;;SPMamp;0x58425241L;SPMamp;;SPMamp;/&sstarf#star; ;SPMquot;XBRA;SPMquot; &sstarf#star;/;SPMamp;
;SPMamp;_GNUC_MAGIC;SPMamp;;SPMamp;0x474E5543L;SPMamp;;SPMamp;/&sstarf#star; ;SPMquot;GNUC;SPMquot; &sstarf#star;/;SPMamp;
;SPMamp;_JMP_OPCODE;SPMamp;;SPMamp;0x4EF9;SPMamp;;SPMamp;;SPMamp;
;SPMamp;_JSR_OPCODE;SPMamp;;SPMamp;0x4EB9;SPMamp;;SPMamp;;SPMamp;
<#1994#>OS Header<#1994#>
<#1995#>#tex2html_accent_inline3822#<#1995#><#1997#>section<#1997#><#1998#>OS Header<#1998#><#1999#><#1999#>
The system variable <#782#>#tex2html_accent_inline3823#<#782#> points to this structure.
<#2001#>#tex2html_accent_inline3824#<#2001#>
by
unsigned~short os_entry;<#784#>entry address (BRA …)<#784#>
unsigned~short os_version;<#785#>OS version<#785#>
void (&sstarf#star;reseth)(void);<#786#>startaddress of OS-code<#786#>
struct~<#787#>#tex2html_accent_inline3826#<#787#> &sstarf#star;os_beg;<#788#>base of OS<#788#>
void &sstarf#star;os_end;<#789#>start of ``free'' ram<#789#>
char &sstarf#star;os_rsv1;<#790#>default shell<#790#>
char &sstarf#star;os_magic;<#791#>ptr to GEM-MAGIC var.<#791#>
long os_dat;<#792#>creation date 0xMMDDYYYY<#792#>
unsigned~short os_conf;<#793#>bit 0 = 1 #math298#⇒ PAL, NTSC otherwise<#793#>
unsigned~short os_dosdate;<#794#>creationdate in TOS form.<#794#>
char &sstarf#star;&sstarf#star;p_root;<#795#>base of OS pool<#795#>
char &sstarf#star;&sstarf#star;pkbshift;<#796#>kbd shift state var<#796#>
char &sstarf#star;&sstarf#star;p_run;<#797#>PID of current proc.<#797#>
char &sstarf#star;p_rsv2;<#798#>reserved<#798#>
} OSHDR;
<#2003#>LineA Structure<#2003#>
<#2004#>#tex2html_accent_inline3829#<#2004#><#2006#>section<#2006#><#2007#>LineA Structure<#2007#><#2008#><#2008#>
0=<#2009#>Routines concerned: <#2009#>=0
=10 <#801#>#tex2html_accent_inline3830#<#801#>()
#include linea.h;SPMgt;
=.4
<#2011#>#tex2html_accent_inline3831#<#2011#>
by
short _VPLANES;<#803#>0 # of planes<#803#>
short _VWRAP;<#804#>2 bytes / scan line<#804#>
short &sstarf#star;_CONTRL;<#805#>4 ptr to CONTRL array<#805#>
short &sstarf#star;_INTIN;<#806#>8 ptr to INTIN array<#806#>
short &sstarf#star;_PTSIN;<#807#>12 ptr to PTSIN array<#807#>
short &sstarf#star;_INTOUT;<#808#>16 ptr to INTOUT array<#808#>
short &sstarf#star;_PTSOUT;<#809#>20 ptr to PTSOUT array<#809#>
short _COLBIT0;<#810#>24 plane 0 color value<#810#>
short _COLBIT1;<#811#>26 plane 1 color value<#811#>
short _COLBIT2;<#812#>28 plane 2 color value<#812#>
short _COLBIT3;<#813#>30 plane 3 color value<#813#>
short _LSTLIN;<#814#>32 draw last pix. of line (=0)<#814#>
short _LNMASK;<#815#>34 linemask<#815#>
short _WMODE;<#816#>36 writing mode<#816#>
short _X1;<#817#>38 X1 coord.<#817#>
short _Y1;<#818#>40 Y1 coord.<#818#>
short _X2;<#819#>42 X2 coord.<#819#>
short _Y2;<#820#>44 Y2 coord.<#820#>
short &sstarf#star;_PATPTR;<#821#>46 ptr to fill pattern<#821#>
short _PATMSK;<#822#>50 len. in words of pattern<#822#>
short _MFILL;<#823#>52 multi plane fill flag<#823#>
short _CLIP;<#824#>54 clipping flag (=1)<#824#>
short _XMINCL;<#825#>56 min X of clipp. window<#825#>
short _YMINCL;<#826#>58 min Y of clipp. window<#826#>
short _XMAXCL;<#827#>60 max X of clipp. window<#827#>
short _YMAXCL;<#828#>62 max Y of clipp. window<#828#>
short _XDDA;<#829#>64 accu for scaling<#829#>
short _DDAINC;<#830#>66 scaling factor<#830#>
short _SCALDIR;<#831#>68 scaling dir. 0 == down<#831#>
short _MONO;<#832#>70 mono spaced flag<#832#>
short _SOURCEX;<#833#>72 X coord. of char. in form<#833#>
short _SOURCEY;<#834#>74 Y coord. of char. in form<#834#>
short _DESTX;<#835#>76 X coord. of char. on screen<#835#>
short _DESTY;<#836#>78 Y coord. of char. on screen<#836#>
short _DELX;<#837#>80 width of character<#837#>
short _DELY;<#838#>82 height of character<#838#>
short &sstarf#star;_FBASE;<#839#>84 ptr to font image<#839#>
short _FWIDTH;<#840#>88 width of font image<#840#>
short _STYLE;<#841#>90 style flags<#841#>
short _LITEMASK;<#842#>92 mask for lightening text<#842#>
short _SKEWMASK;<#843#>94 mask for skewing text<#843#>
short _WEIGHT;<#844#>96 add. width of bold text<#844#>
short _ROFF;<#845#>98 off. above basel. when skewing<#845#>
short _LOFF;<#846#>100 off. below basel. when skewing<#846#>
short _SCALE;<#847#>102 scaling Flag (=1)<#847#>
short _CHUP;<#848#>104 character rotation vector.<#848#>
short _TEXTFG;<#849#>106 text foreground color<#849#>
char &sstarf#star;_SCRTCHP;<#850#>108 1k scratchpad area<#850#>
short _SCRPT2;<#851#>112 Off. of the scaling buffer<#851#>
short _TEXTBG;<#852#>114 text background color<#852#>
short _COPYTRAN;<#853#>116 copy raster form type flag<#853#>
short (&sstarf#star;_SEEDABORT)(void);<#854#>118 Ptr to seed abort function<#854#>
} __LINEA;=0.44
extern <#856#>#tex2html_accent_inline3833#<#856#> &sstarf#star;__aline;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;/&sstarf#star; from <#857#>#tex2html_accent_inline3834#<#857#> &sstarf#star;/
<#2013#>Font Header<#2013#>
<#2014#>#tex2html_accent_inline3835#<#2014#><#2016#>section<#2016#><#2017#>Font Header<#2017#><#2018#><#2018#>
0=<#2019#>Routines concerned: <#2019#>=0
=10 <#859#>#tex2html_accent_inline3836#<#859#>()
#include linea.h;SPMgt;
=.38
<#2021#>#tex2html_accent_inline3837#<#2021#>
by
short font_id;<#861#>0 font face identifier<#861#>
short size;<#862#>2 font size in points<#862#>
char name[32];<#863#>4 face name<#863#>
short first_ade;<#864#>36 low. ADE value in face<#864#>
short last_ade;<#865#>38 high. ADE value in face<#865#>
short top;<#866#>40 dist. topline #math299#↔ baseline<#866#>
short ascent;<#867#>42 dist. ascentline #math300#↔ baseline<#867#>
short half;<#868#>44 dist. halfline #math301#↔ baseline<#868#>
short descent;<#869#>46 dist. decentline #math302#↔ baseline<#869#>
short bottom;<#870#>48 dist. bottomline #math303#↔ baseline<#870#>
short max_char_width;<#871#>50 width of widest char.<#871#>
short max_cell_width;<#872#>52 width of widest char. cell<#872#>
short left_offset;<#873#>54 left offset<#873#>
short right_offset;<#874#>56 right offset<#874#>
short thicken;<#875#>58 add. width of bold char.<#875#>
short ul_size;<#876#>60 width of underline<#876#>
short lighten;<#877#>62 mask for lighten char.<#877#>
short skew;<#878#>64 mask for skewing char.<#878#>
short flags;<#879#>66 flags<#879#>
char &sstarf#star;h_table;<#880#>68 ptr to hor. off. table<#880#>
short &sstarf#star;off_table;<#881#>72 ptr to char. off. table<#881#>
char &sstarf#star;dat_table;<#882#>76 ptr to font data<#882#>
short form_width;<#883#>80 form width<#883#>
short form_height;<#884#>82 form height<#884#>
struct~<#885#>#tex2html_accent_inline3843#<#885#> &sstarf#star;next_font;<#886#>84 ptr to next font<#886#>
} __FONT;=0.44
extern <#888#>#tex2html_accent_inline3845#<#888#> &sstarf#star;&sstarf#star;__fonts;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;/&sstarf#star; from <#889#>#tex2html_accent_inline3846#<#889#> &sstarf#star;/
<#2023#>Bit Blt Parameter Block Type<#2023#>
<#2024#>#tex2html_accent_inline3847#<#2024#><#2026#>section<#2026#><#2027#>Bit Blt Parameter Block Type<#2027#><#2028#><#2028#>
0=<#2029#>Routines concerned: <#2029#>=0
=10 <#891#>#tex2html_accent_inline3848#<#891#>()
#include linea.h;SPMgt;
<#2031#>#tex2html_accent_inline3849#<#2031#>
by
short bb_b_wd;<#893#>width of block<#893#>
short bb_b_ht;<#894#>height of block<#894#>
short bb_plane_ct;<#895#>number of planes<#895#>
short bb_fg_col;<#896#>fg color<#896#>
short bb_bg_col;<#897#>bg color<#897#>
<#898#>#tex2html_accent_inline3850#<#898#> bb_op_tab;<#899#>logic for fg x bg comb.<#899#>
<#900#>#tex2html_accent_inline3851#<#900#> bb_s;<#901#>src info block<#901#>
<#902#>#tex2html_accent_inline3852#<#902#> bb_d;<#903#>dst info block<#903#>
short &sstarf#star;bb_p_addr;<#904#>pattern buffer address<#904#>
short bb_p_nxln;<#905#>off. to next line in pat.<#905#>
short bb_p_nxpl;<#906#>off. to next plane in pat.<#906#>
short bb_p_mask;<#907#>pattern index mask<#907#>
char bb_fill[24];<#908#>work space<#908#>
} BBPB;
<#2033#>OP_TAB of Bit Blt Parameter Block<#2033#>
<#2034#>#tex2html_accent_inline3854#<#2034#><#2036#>section<#2036#><#2037#>OP_TAB of Bit Blt Parameter Block<#2037#><#2038#><#2038#>
0=<#2039#>Routines concerned: <#2039#>=0
=10 <#911#>#tex2html_accent_inline3855#<#911#>()
#include linea.h;SPMgt;
=.35
<#2041#>#tex2html_accent_inline3856#<#2041#>
by
char fg0bg0;<#913#>logic op for FG BG = 0<#913#>
char fg0bg1;<#914#>logic op for FG = 0 BG = 1<#914#>
char fg1bg0;<#915#>logic op for FG = 1 BG = 0<#915#>
char fg1bg1;<#916#>logic op for FG BG = 1<#916#>
} OP_TAB;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Type;SPMamp;
<#921#>
<#921#>
;SPMamp;ALL_WHITE;SPMamp;;SPMamp;0;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_AND_D;SPMamp;;SPMamp;1;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_AND_NOTD;SPMamp;;SPMamp;2;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_ONLY;SPMamp;;SPMamp;3;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOTS_AND_D;SPMamp;;SPMamp;4;SPMamp;;SPMamp;;SPMamp;
;SPMamp;D_ONLY;SPMamp;;SPMamp;5;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_XOR_D;SPMamp;;SPMamp;6;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_OR_D;SPMamp;;SPMamp;7;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOT_SORD;SPMamp;;SPMamp;8;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOT_SXORD;SPMamp;;SPMamp;9;SPMamp;;SPMamp;;SPMamp;
;SPMamp;D_INVERT;SPMamp;;SPMamp;10;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOT_D;SPMamp;;SPMamp;10;SPMamp;;SPMamp;;SPMamp;
;SPMamp;S_OR_NOTD;SPMamp;;SPMamp;11;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOT_S;SPMamp;;SPMamp;12;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOTS_OR_D;SPMamp;;SPMamp;13;SPMamp;;SPMamp;;SPMamp;
;SPMamp;NOT_SANDD;SPMamp;;SPMamp;14;SPMamp;;SPMamp;;SPMamp;
;SPMamp;ALL_BLACK;SPMamp;;SPMamp;15;SPMamp;;SPMamp;;SPMamp;
<#2047#>SRC and DST Description Block Type<#2047#>
<#2048#>#tex2html_accent_inline3858#<#2048#><#2050#>section<#2050#><#2051#>SRC and DST Description Block Type<#2051#><#2052#><#2052#>
0=<#2053#>Routines concerned: <#2053#>=0
=10 <#974#>#tex2html_accent_inline3859#<#974#>()
#include linea.h;SPMgt;
<#2055#>#tex2html_accent_inline3860#<#2055#>
by
short bl_xmin;<#976#>minimum x<#976#>
short bl_ymin;<#977#>minimum y<#977#>
char &sstarf#star;bl_form;<#978#>short aligned memory form<#978#>
short bl_nxwd;<#979#>off. to next word in line<#979#>
short bl_nxln;<#980#>off. to next line in plane<#980#>
short bl_nxpl;<#981#>off. to next plane<#981#>
} SDDB;
<#2057#>Memory Form Definition Block Type<#2057#>
<#2058#>#tex2html_accent_inline3862#<#2058#><#2060#>section<#2060#><#2061#>Memory Form Definition Block Type<#2061#><#2062#><#2062#>
0=<#2063#>Routines concerned: <#2063#>=0
=10 <#984#>#tex2html_accent_inline3863#<#984#>()
#include linea.h;SPMgt;
<#2065#>#tex2html_accent_inline3864#<#2065#>
by
char &sstarf#star;fd_addr;<#986#>ptr to memory block<#986#>
short fd_w;<#987#>form width<#987#>
short fd_h;<#988#>form height<#988#>
short fd_wdwidth;<#989#>form width in shorts<#989#>
short fd_stand;<#990#>form fmt 0 = dev spec, 1 = std<#990#>
short fd_nplanes;<#991#>number of memory planes<#991#>
short fd_r1;<#992#>reserved<#992#>
short fd_r2;<#993#>reserved<#993#>
short fd_r3;<#994#>reserved<#994#>
} MFDB;=0.44
0=<#2067#>Routines concerned: <#2067#>=0
=10 <#996#>#tex2html_accent_inline3866#<#996#>(), <#997#>#tex2html_accent_inline3867#<#997#>(),
<#998#>#tex2html_accent_inline3868#<#998#>()
#include gemfast.h;SPMgt;
<#2069#>#tex2html_accent_inline3869#<#2069#>
by
long fd_addr; <#1000#><#1000#>
<#1001#> <#1001#> … ;<#1002#>rest as above<#1002#>
} MFDB;
<#2071#>Mouse Form Definition Block Type<#2071#>
<#2072#>#tex2html_accent_inline3872#<#2072#><#2074#>section<#2074#><#2075#>Mouse Form Definition Block Type<#2075#><#2076#><#2076#>
0=<#2077#>Routines concerned: <#2077#>=0
=10 <#1005#>#tex2html_accent_inline3873#<#1005#>()
#include linea.h;SPMgt;
<#2079#>#tex2html_accent_inline3874#<#2079#>
by
short mf_xhot;<#1007#>off. to x hot spot<#1007#>
short mf_yhot;<#1008#>off. to y hot spot<#1008#>
short mf_nplanes;<#1009#>set to 1<#1009#>
short mf_bg;<#1010#>cursor color<#1010#>
short mf_fg;<#1011#>mask color<#1011#>
short mf_mask[16];<#1012#>mask data<#1012#>
short mf_data[16];<#1013#>cursor data<#1013#>
} MFORM;
0=<#2081#>Routines concerned: <#2081#>=0
=10 <#1015#>#tex2html_accent_inline3876#<#1015#>()
#include gemfast.h;SPMgt;
<#2083#>#tex2html_accent_inline3877#<#2083#>
by
<#1017#> <#1017#> … ;<#1018#>same as above<#1018#>
} MFORM;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#1023#>
<#1023#>
;SPMamp;ARROW;SPMamp;;SPMamp;0;SPMamp;;SPMamp;;SPMamp;
;SPMamp;BEE;SPMamp;;SPMamp;2;SPMamp;;SPMamp;;SPMamp;
;SPMamp;BUSY_BEE;SPMamp;;SPMamp;BEE;SPMamp;;SPMamp;/&sstarf#star; alias &sstarf#star;/;SPMamp;
;SPMamp;TEXT_CRSR;SPMamp;;SPMamp;1;SPMamp;;SPMamp;;SPMamp;
;SPMamp;HOURGLASS;SPMamp;;SPMamp;2;SPMamp;;SPMamp;;SPMamp;
;SPMamp;POINT_HAND;SPMamp;;SPMamp;3;SPMamp;;SPMamp;;SPMamp;
;SPMamp;FLAT_HAND;SPMamp;;SPMamp;4;SPMamp;;SPMamp;;SPMamp;
;SPMamp;THIN_CROSS;SPMamp;;SPMamp;5;SPMamp;;SPMamp;;SPMamp;
;SPMamp;THICK_CROSS;SPMamp;;SPMamp;6;SPMamp;;SPMamp;;SPMamp;
;SPMamp;OUTLN_CROSS;SPMamp;;SPMamp;7;SPMamp;;SPMamp;;SPMamp;
;SPMamp;USER_DEF;SPMamp;;SPMamp;255;SPMamp;;SPMamp;;SPMamp;
;SPMamp;M_OFF;SPMamp;;SPMamp;256;SPMamp;;SPMamp;mouse on;SPMamp;
;SPMamp;M_ON;SPMamp;;SPMamp;257;SPMamp;;SPMamp;mouse off;SPMamp;
<#2089#>Sprite Definition Block Type<#2089#>
<#2090#>#tex2html_accent_inline3880#<#2090#><#2092#>section<#2092#><#2093#>Sprite Definition Block Type<#2093#><#2094#><#2094#>
0=<#2095#>Routines concerned: <#2095#>=0
=10 <#1064#>#tex2html_accent_inline3881#<#1064#>()
#include linea.h;SPMgt;
<#2097#>#tex2html_accent_inline3882#<#2097#>
by
short sp_xhot;<#1066#>off. to x hot spot<#1066#>
short sp_yhot;<#1067#>off. to y hot spot<#1067#>
short sp_format;<#1689#>format <#1068#>#tex2html_accent_inline3883#<#1068#> or <#1069#>#tex2html_accent_inline3884#<#1069#><#1689#>
short sp_bg;<#1070#>bg color<#1070#>
short sp_fg;<#1071#>fg color<#1071#>
short sp_data[32];<#1072#>sprite data<#1072#>
} SFORM;
<#2099#>AES Object Type<#2099#>
<#2100#>#tex2html_accent_inline3886#<#2100#><#2102#>section<#2102#><#2103#>AES Object Type<#2103#><#2104#><#2104#>
0=<#2105#>Routines concerned: <#2105#>=0
=10 too many to mention.
#include gemfast.h;SPMgt;
<#2107#>#tex2html_accent_inline3887#<#2107#>
by
short ob_next;<#1076#>#math304#→ object's next sibling<#1076#>
short ob_head;<#1077#>#math305#→ head of object's children<#1077#>
short ob_tail;<#1078#>#math306#→ tail of object's children<#1078#>
unsigned short ob_type;<#1079#>type of object<#1079#>
unsigned short ob_flags;<#1080#>flags<#1080#>
unsigned short ob_state;<#1081#>state<#1081#>
unsigned long ob_spec;<#1082#>object-specific data<#1082#>
short ob_x;<#1083#>upper left corner of object<#1083#>
short ob_y;<#1084#>upper left corner of object<#1084#>
short ob_width;<#1085#>width of obj<#1085#>
short ob_height;<#1086#>height of obj<#1086#>
} OBJECT;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Object Type;SPMamp;
<#1091#>
<#1091#>
;SPMamp;G_BOX;SPMamp;;SPMamp;20;SPMamp;;SPMamp;box with attributes;SPMamp;
;SPMamp;G_TEXT;SPMamp;;SPMamp;21;SPMamp;;SPMamp;graphics text;SPMamp;
;SPMamp;G_BOXTEXT;SPMamp;;SPMamp;22;SPMamp;;SPMamp;box with graphics text;SPMamp;
;SPMamp;G_IMAGE;SPMamp;;SPMamp;23;SPMamp;;SPMamp;simple picture;SPMamp;
;SPMamp;G_USERDEF;SPMamp;;SPMamp;24;SPMamp;;SPMamp;user function;SPMamp;
;SPMamp;G_IBOX;SPMamp;;SPMamp;25;SPMamp;;SPMamp;invisible box;SPMamp;
;SPMamp;G_BUTTON;SPMamp;;SPMamp;26;SPMamp;;SPMamp;centered text in box;SPMamp;
;SPMamp;G_BOXCHAR;SPMamp;;SPMamp;27;SPMamp;;SPMamp;box with single character;SPMamp;
;SPMamp;G_STRING;SPMamp;;SPMamp;28;SPMamp;;SPMamp;string;SPMamp;
;SPMamp;G_FTEXT;SPMamp;;SPMamp;29;SPMamp;;SPMamp;formatted graphics text;SPMamp;
;SPMamp;G_FBOXTEXT;SPMamp;;SPMamp;30;SPMamp;;SPMamp;box w. form. graphics text;SPMamp;
;SPMamp;G_ICON;SPMamp;;SPMamp;31;SPMamp;;SPMamp;icon;SPMamp;
;SPMamp;G_TITLE;SPMamp;;SPMamp;32;SPMamp;;SPMamp;title of drop down menue;SPMamp;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Object Flags;SPMamp;
<#1134#>
<#1134#>
;SPMamp;NONE;SPMamp;;SPMamp;0x0000;SPMamp;;SPMamp;;SPMamp;
;SPMamp;SELECTABLE;SPMamp;;SPMamp;0x0001;SPMamp;;SPMamp;;SPMamp;
;SPMamp;DEFAULT;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;default choice;SPMamp;
;SPMamp;EXIT;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;exit, when selected;SPMamp;
;SPMamp;EDITABLE;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;object is editable;SPMamp;
;SPMamp;RBUTTON;SPMamp;;SPMamp;0x0010;SPMamp;;SPMamp;;SPMamp;
;SPMamp;LASTOB;SPMamp;;SPMamp;0x0020;SPMamp;;SPMamp;last object in tree;SPMamp;
;SPMamp;TOUCHEXIT;SPMamp;;SPMamp;0x0040;SPMamp;;SPMamp;;SPMamp;
;SPMamp;HIDETREE;SPMamp;;SPMamp;0x0080;SPMamp;;SPMamp;;SPMamp;
;SPMamp;INDIRECT;SPMamp;;SPMamp;0x0100;SPMamp;;SPMamp;;SPMamp;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Object State;SPMamp;
<#1168#>
<#1168#>
;SPMamp;NORMAL;SPMamp;;SPMamp;0x0000;SPMamp;;SPMamp;;SPMamp;
;SPMamp;SELECTED;SPMamp;;SPMamp;0x0001;SPMamp;;SPMamp;;SPMamp;
;SPMamp;CROSSED;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;;SPMamp;
;SPMamp;CHECKED;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;;SPMamp;
;SPMamp;DISABLED;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;not selectable;SPMamp;
;SPMamp;OUTLINED;SPMamp;;SPMamp;0x0010;SPMamp;;SPMamp;;SPMamp;
;SPMamp;SHADOWED;SPMamp;;SPMamp;0x0020;SPMamp;;SPMamp;;SPMamp;
<#2121#>Graphic- and VDI-Rectangle<#2121#>
<#2122#>#tex2html_accent_inline3892#<#2122#><#2124#>section<#2124#><#2125#>Graphic- and VDI-Rectangle<#2125#><#2126#><#2126#>
#include gemfast.h;SPMgt;
<#2128#>#tex2html_accent_inline3893#<#2128#>
by
int g_x;<#1192#><#1192#>
int g_y;<#1193#><#1193#>
int g_w;<#1194#><#1194#>
int g_h;<#1195#><#1195#>
} GRECT;
<#2131#>#tex2html_accent_inline3895#<#2131#>
by
int v_x1;<#1198#><#1198#>
int v_y1;<#1199#><#1199#>
int v_x2;<#1200#><#1200#>
int v_y2;<#1201#><#1201#>
} VRECT;
<#2134#>#tex2html_accent_inline3897#<#2134#>
by
struct~<#1204#>#tex2html_accent_inline3898#<#1204#> &sstarf#star;o_link;<#1205#><#1205#>
int o_x;<#1206#><#1206#>
int o_y;<#1207#><#1207#>
int o_w;<#1208#><#1208#>
int o_h;<#1209#><#1209#>
} ORECT;
<#2136#>TEDINFO Structure Type<#2136#>
<#2137#>#tex2html_accent_inline3900#<#2137#><#2139#>section<#2139#><#2140#>TEDINFO Structure Type<#2140#><#2141#><#2141#>
#include gemfast.h;SPMgt;
<#2143#>#tex2html_accent_inline3901#<#2143#>
by
char &sstarf#star;te_ptext;<#1213#>ptr to text<#1213#>
char &sstarf#star;te_ptmplt;<#1214#>ptr to template<#1214#>
char &sstarf#star;te_pvalid;<#1215#>ptr to validation chrs.<#1215#>
short te_font;<#1216#>font<#1216#>
short te_junk1;<#1217#>junk word<#1217#>
short te_just;<#1218#>justification<#1218#>
short te_color;<#1219#>color information word<#1219#>
short te_junk2;<#1220#>junk word<#1220#>
short te_thickness;<#1221#>border thickness<#1221#>
short te_txtlen;<#1222#>length of text string<#1222#>
short te_tmplen;<#1223#>length of template string<#1223#>
} TEDINFO;
<#2145#>ICON Block Type<#2145#>
<#2146#>#tex2html_accent_inline3903#<#2146#><#2148#>section<#2148#><#2149#>ICON Block Type<#2149#><#2150#><#2150#>
#include gemfast.h;SPMgt;
<#2152#>#tex2html_accent_inline3904#<#2152#>
by
short &sstarf#star;ib_pmask;<#1227#>ptr to icon mask<#1227#>
short &sstarf#star;ib_pdata;<#1228#>ptr to icon data<#1228#>
char &sstarf#star;ib_ptext;<#1229#>ptr to icon text<#1229#>
short ib_char;<#1230#>char. to appear in icon<#1230#>
short ib_xchar;<#1231#>x-pos. of char.<#1231#>
short ib_ychar;<#1232#>y-pos. of char<#1232#>
short ib_xicon;<#1233#>x-pos. of icon<#1233#>
short ib_yicon;<#1234#>y-pos. of icon<#1234#>
short ib_wicon;<#1235#>width of icon<#1235#>
short ib_hicon;<#1236#>height of icon<#1236#>
short ib_xtext;<#1237#>x-pos. of text<#1237#>
short ib_ytext;<#1238#>y-pos. of text<#1238#>
short ib_wtext;<#1239#>textwidth in pixels<#1239#>
short ib_htext;<#1240#>textheight in pixels<#1240#>
short ib_resvd;<#1241#><#1241#>
} ICONBLK;
<#2154#>Resource File Header<#2154#>
<#2155#>#tex2html_accent_inline3906#<#2155#><#2157#>section<#2157#><#2158#>Resource File Header<#2158#><#2159#><#2159#>
#include gemfast.h;SPMgt;
<#2161#>#tex2html_accent_inline3907#<#2161#>
by
short rsh_vrsn;<#1245#><#1245#>
short rsh_object;<#1246#>pos. of object field<#1246#>
short rsh_tedinfo;<#1247#>pos. of TEDINFO structs<#1247#>
short rsh_iconblk;<#1248#>pos. of ICONBLK structs<#1248#>
short rsh_bitblk;<#1249#>pos. of BITBLK structs<#1249#>
short rsh_frstr;<#1250#>pos. of free strings<#1250#>
short rsh_string;<#1251#>pos.of bound strings<#1251#>
short rsh_imdata;<#1252#>image data<#1252#>
short rsh_frimg;<#1253#>pos. of free images<#1253#>
short rsh_trindex;<#1254#>pos. of object tree table<#1254#>
short rsh_nobs;<#1255#>counts of various structs<#1255#>
short rsh_ntree;<#1256#>no. of object trees<#1256#>
short rsh_nted;<#1257#>no. of TEDINFO structs<#1257#>
short rsh_nib;<#1258#>no. of ICONBLK structs<#1258#>
short rsh_nbb;<#1259#>no. of BITBLK structs<#1259#>
short rsh_nstring;<#1260#>no. of strings<#1260#>
short rsh_nimages;<#1261#>no. of images<#1261#>
short rsh_rssize;<#1262#>total bytes in resource<#1262#>
} RSHDR;
<#2163#>Bit-Image-Structure (BITBLK)<#2163#>
<#2164#>#tex2html_accent_inline3909#<#2164#><#2166#>section<#2166#><#2167#>Bit-Image-Structure (BITBLK)<#2167#><#2168#><#2168#>
#include gemfast.h;SPMgt;
<#2170#>#tex2html_accent_inline3910#<#2170#>
by
char &sstarf#star;bi_pdata;<#1266#>ptr to bit forms data<#1266#>
short bi_wb;<#1267#>width of form in bytes<#1267#>
short bi_hl;<#1268#>height in lines<#1268#>
short bi_x;<#1269#>source x in bit form<#1269#>
short bi_y;<#1270#>source y in bit form<#1270#>
short bi_color;<#1271#>fg color of blt<#1271#>
} BITBLK;
<#2172#>Application-Block-Structure<#2172#>
<#2173#>#tex2html_accent_inline3912#<#2173#><#2175#>section<#2175#><#2176#>Application-Block-Structure<#2176#><#2177#><#2177#>
#include gemfast.h;SPMgt;
<#2179#>#tex2html_accent_inline3913#<#2179#>
by
int (&sstarf#star;ub_code)(void &sstarf#star;parmblock);<#1275#>ptr to user function<#1275#>
long ub_parm;<#1276#>optional parameter<#1276#>
} USERBLK;
<#2181#>Parameter-Block-Structure<#2181#>
<#2182#>#tex2html_accent_inline3915#<#2182#><#2184#>section<#2184#><#2185#>Parameter-Block-Structure<#2185#><#2186#><#2186#>
#include gemfast.h;SPMgt;
=0.38
<#2188#>#tex2html_accent_inline3916#<#2188#>
by
<#1280#>#tex2html_accent_inline3917#<#1280#> &sstarf#star;pb_tree;<#1281#>ptr to object tree<#1281#>
short pb_obj;<#1282#>object number<#1282#>
short pb_prevstate;<#1283#>previous state<#1283#>
short pb_currstate;<#1284#>current state<#1284#>
short pb_x, pb_y;<#1285#>x- y-pos. of object<#1285#>
short pb_w, pb_h;<#1286#>width height of object<#1286#>
short pb_xc, pb_yc;<#1287#>x- y-pos. of clip. rect.<#1287#>
short pb_wc, pb_hc;<#1288#>width height of clip. rect.<#1288#>
long pb_parm;<#1289#>parameter from USERBLK<#1289#>
} PARMBLK;=0.44
<#2190#>Multi Event Flags<#2190#>
<#2191#>#tex2html_accent_inline3919#<#2191#><#2193#>section<#2193#><#2194#>Multi Event Flags<#2194#><#2195#><#2195#>
0=<#2196#>Routines concerned: <#2196#>=0
=10 <#1292#>#tex2html_accent_inline3920#<#1292#>()
#include gemfast.h;SPMgt;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Event;SPMamp;
<#1296#>
<#1296#>
;SPMamp;MU_KEYBD;SPMamp;;SPMamp;0x0001;SPMamp;;SPMamp;keyboard event;SPMamp;
;SPMamp;MU_BUTTON;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;mouse button event;SPMamp;
;SPMamp;MU_M1;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;first mouse event;SPMamp;
;SPMamp;MU_M2;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;second mouse event;SPMamp;
;SPMamp;MU_MESAG;SPMamp;;SPMamp;0x0010;SPMamp;;SPMamp;message event;SPMamp;
;SPMamp;MU_TIMER;SPMamp;;SPMamp;0x0020;SPMamp;;SPMamp;timer event;SPMamp;
<#2201#>Keyboard States<#2201#>
<#2202#>#tex2html_accent_inline3921#<#2202#><#2204#>section<#2204#><#2205#>Keyboard States<#2205#><#2206#><#2206#>
0=<#2207#>Routines concerned: <#2207#>=0
=10 <#1316#>#tex2html_accent_inline3922#<#1316#>(), <#1317#>#tex2html_accent_inline3923#<#1317#>(), <#1318#>#tex2html_accent_inline3924#<#1318#>(), <#1319#>#tex2html_accent_inline3925#<#1319#>()
#include gemfast.h;SPMgt;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#1323#>
<#1323#>
;SPMamp;K_RSHIFT;SPMamp;;SPMamp;0x0001;SPMamp;;SPMamp;right shift key;SPMamp;
;SPMamp;K_LSHIFT;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;left shift key;SPMamp;
;SPMamp;K_CTRL;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;control key;SPMamp;
;SPMamp;K_ALT;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;alternate key;SPMamp;
<#2212#>Message Event, Window Handling<#2212#>
<#2213#>#tex2html_accent_inline3926#<#2213#><#2215#>section<#2215#><#2216#>Message Event, Window Handling<#2216#><#2217#><#2217#>
#include gemfast.h;SPMgt;
0=<#2218#>Routines concerned: <#2218#>=0
=10 <#1337#>#tex2html_accent_inline3927#<#1337#>()
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Window Attribute;SPMamp;
<#1341#>
<#1341#>
;SPMamp;NAME;SPMamp;;SPMamp;0x0001;SPMamp;;SPMamp;name line;SPMamp;
;SPMamp;CLOSER;SPMamp;;SPMamp;0x0002;SPMamp;;SPMamp;closing field;SPMamp;
;SPMamp;FULLER;SPMamp;;SPMamp;0x0004;SPMamp;;SPMamp;full size field;SPMamp;
;SPMamp;MOVER;SPMamp;;SPMamp;0x0008;SPMamp;;SPMamp;move field;SPMamp;
;SPMamp;INFO;SPMamp;;SPMamp;0x0010;SPMamp;;SPMamp;info line;SPMamp;
;SPMamp;SIZER;SPMamp;;SPMamp;0x0020;SPMamp;;SPMamp;change size field;SPMamp;
;SPMamp;UPARROW;SPMamp;;SPMamp;0x0040;SPMamp;;SPMamp;up arrow;SPMamp;
;SPMamp;DNARROW;SPMamp;;SPMamp;0x0080;SPMamp;;SPMamp;down arrow;SPMamp;
;SPMamp;VSLIDE;SPMamp;;SPMamp;0x0100;SPMamp;;SPMamp;vertical slider;SPMamp;
;SPMamp;LFARROW;SPMamp;;SPMamp;0x0200;SPMamp;;SPMamp;left arrow;SPMamp;
;SPMamp;RTARROW;SPMamp;;SPMamp;0x0400;SPMamp;;SPMamp;right arrow;SPMamp;
;SPMamp;HSLIDE;SPMamp;;SPMamp;0x0800;SPMamp;;SPMamp;horizotal slider;SPMamp;
0=<#2223#>Routines concerned: <#2223#>=0
=10 <#1378#>#tex2html_accent_inline3928#<#1378#>(), <#1379#>#tex2html_accent_inline3929#<#1379#>()
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Message;SPMamp;
<#1383#>
<#1383#>
;SPMamp;MN_SELECTED;SPMamp;;SPMamp;10;SPMamp;;SPMamp;drop down menue sel.;SPMamp;
;SPMamp;WM_REDRAW;SPMamp;;SPMamp;20;SPMamp;;SPMamp;window needs redraw;SPMamp;
;SPMamp;WM_TOPPED;SPMamp;;SPMamp;21;SPMamp;;SPMamp;make window current;SPMamp;
;SPMamp;WM_CLOSED;SPMamp;;SPMamp;22;SPMamp;;SPMamp;window closed;SPMamp;
;SPMamp;WM_FULLED;SPMamp;;SPMamp;23;SPMamp;;SPMamp;window to full size;SPMamp;
;SPMamp;WM_ARROWED;SPMamp;;SPMamp;24;SPMamp;;SPMamp;arrow message;SPMamp;
;SPMamp;WM_HSLID;SPMamp;;SPMamp;25;SPMamp;;SPMamp;horiz. slider moved;SPMamp;
;SPMamp;WM_VSLID;SPMamp;;SPMamp;26;SPMamp;;SPMamp;vert. slider moved;SPMamp;
;SPMamp;WM_SIZED;SPMamp;;SPMamp;27;SPMamp;;SPMamp;window size changed;SPMamp;
;SPMamp;WM_MOVED;SPMamp;;SPMamp;28;SPMamp;;SPMamp;window moved;SPMamp;
;SPMamp;WM_NEWTOP;SPMamp;;SPMamp;29;SPMamp;;SPMamp;window activated;SPMamp;
;SPMamp;AC_OPEN;SPMamp;;SPMamp;40;SPMamp;;SPMamp;accessory selected;SPMamp;
;SPMamp;AC_CLOSE;SPMamp;;SPMamp;41;SPMamp;;SPMamp;accessory closed;SPMamp;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Arrow Message;SPMamp;
<#1426#>
<#1426#>
;SPMamp;WA_UPPAGE;SPMamp;;SPMamp;0;SPMamp;;SPMamp;page up;SPMamp;
;SPMamp;WA_DNPAGE;SPMamp;;SPMamp;1;SPMamp;;SPMamp;page down;SPMamp;
;SPMamp;WA_UPLINE;SPMamp;;SPMamp;2;SPMamp;;SPMamp;line up;SPMamp;
;SPMamp;WA_DNLINE;SPMamp;;SPMamp;3;SPMamp;;SPMamp;line down;SPMamp;
;SPMamp;WA_LFPAGE;SPMamp;;SPMamp;4;SPMamp;;SPMamp;page left;SPMamp;
;SPMamp;WA_RTPAGE;SPMamp;;SPMamp;5;SPMamp;;SPMamp;page right;SPMamp;
;SPMamp;WA_LFLINE;SPMamp;;SPMamp;6;SPMamp;;SPMamp;column left;SPMamp;
;SPMamp;WA_RTLINE;SPMamp;;SPMamp;7;SPMamp;;SPMamp;column right;SPMamp;
0=<#2232#>Routines concerned: <#2232#>=0
=10 <#1451#>#tex2html_accent_inline3930#<#1451#>()
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#1455#>
<#1455#>
;SPMamp;WF_NAME;SPMamp;;SPMamp;2;SPMamp;;SPMamp;set window name;SPMamp;
;SPMamp;WF_INFO;SPMamp;;SPMamp;3;SPMamp;;SPMamp;set info line;SPMamp;
;SPMamp;WF_CURRXYWH;SPMamp;;SPMamp;5;SPMamp;;SPMamp;set window size;SPMamp;
;SPMamp;WF_HSLIDE;SPMamp;;SPMamp;8;SPMamp;;SPMamp;set horiz. slider pos.;SPMamp;
;SPMamp;WF_VSLIDE;SPMamp;;SPMamp;9;SPMamp;;SPMamp;set vert. slider pos.;SPMamp;
;SPMamp;WF_TOP;SPMamp;;SPMamp;10;SPMamp;;SPMamp;make window current;SPMamp;
;SPMamp;WF_NEWDESK;SPMamp;;SPMamp;14;SPMamp;;SPMamp;new default object tree;SPMamp;
;SPMamp;WF_HSLSIZE;SPMamp;;SPMamp;15;SPMamp;;SPMamp;set size of horiz. slider;SPMamp;
;SPMamp;WF_VSLSIZE;SPMamp;;SPMamp;16;SPMamp;;SPMamp;set size of vert. slider;SPMamp;
0=<#2237#>Routines concerned: <#2237#>=0
=10 <#1483#>#tex2html_accent_inline3931#<#1483#>()
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Arrow Message;SPMamp;
<#1487#>
<#1487#>
;SPMamp;WF_KIND;SPMamp;;SPMamp;1;SPMamp;;SPMamp;reserved;SPMamp;
;SPMamp;WF_WORKXYWH;SPMamp;;SPMamp;4;SPMamp;;SPMamp;calc. window work area;SPMamp;
;SPMamp;WF_CURRXYWH;SPMamp;;SPMamp;5;SPMamp;;SPMamp;calc. compl. window sz;SPMamp;
;SPMamp;WF_PREVXYWH;SPMamp;;SPMamp;6;SPMamp;;SPMamp;calc. prev. window sz;SPMamp;
;SPMamp;WF_FULLXYWH;SPMamp;;SPMamp;7;SPMamp;;SPMamp;calc. max. window size;SPMamp;
;SPMamp;WF_HSLIDE;SPMamp;;SPMamp;8;SPMamp;;SPMamp;get horiz. slider pos.;SPMamp;
;SPMamp;WF_VSLIDE;SPMamp;;SPMamp;9;SPMamp;;SPMamp;get vert. slider pos.;SPMamp;
;SPMamp;WF_TOP;SPMamp;;SPMamp;10;SPMamp;;SPMamp;handle of top window;SPMamp;
;SPMamp;WF_FIRSTXYWH;SPMamp;;SPMamp;11;SPMamp;;SPMamp;get first rectangle;SPMamp;
;SPMamp;WF_NEXTXYWH;SPMamp;;SPMamp;12;SPMamp;;SPMamp;get next rectangle;SPMamp;
;SPMamp;WF_RESVD;SPMamp;;SPMamp;13;SPMamp;;SPMamp;reserved;SPMamp;
;SPMamp;WF_HSLSIZE;SPMamp;;SPMamp;15;SPMamp;;SPMamp;get horiz. slider size;SPMamp;
;SPMamp;WF_VSLSIZE;SPMamp;;SPMamp;16;SPMamp;;SPMamp;get vert. slider size;SPMamp;
;SPMamp;WF_SCREEN;SPMamp;;SPMamp;17;SPMamp;;SPMamp;addr. of internal buffer;SPMamp;
0=<#2242#>Routines concerned: <#2242#>=0
=10 <#1530#>#tex2html_accent_inline3932#<#1530#>()
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Type;SPMamp;
<#1534#>
<#1534#>
;SPMamp;END_UPDATE;SPMamp;;SPMamp;0;SPMamp;;SPMamp;screen redraw ready;SPMamp;
;SPMamp;BEG_UPDATE;SPMamp;;SPMamp;1;SPMamp;;SPMamp;begin of screen redraw;SPMamp;
;SPMamp;END_MCTRL;SPMamp;;SPMamp;2;SPMamp;;SPMamp;;SPMamp;
;SPMamp;BEG_MCTRL;SPMamp;;SPMamp;3;SPMamp;;SPMamp;;SPMamp;
<#2247#>Form_Dial Opcodes<#2247#>
<#2248#>#tex2html_accent_inline3933#<#2248#><#2250#>section<#2250#><#2251#>Form_Dial Opcodes<#2251#><#2252#><#2252#>
0=<#2253#>Routines concerned: <#2253#>=0
=10 <#1548#>#tex2html_accent_inline3934#<#1548#>()
#include gemfast.h;SPMgt;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Meaning;SPMamp;
<#1552#>
<#1552#>
;SPMamp;FMD_START;SPMamp;;SPMamp;0;SPMamp;;SPMamp;reserve area for dial. box;SPMamp;
;SPMamp;FMD_GROW;SPMamp;;SPMamp;1;SPMamp;;SPMamp;draw growing rectangle;SPMamp;
;SPMamp;FMD_SHRINK;SPMamp;;SPMamp;2;SPMamp;;SPMamp;draw shrinking rectangle;SPMamp;
;SPMamp;FMD_FINISH;SPMamp;;SPMamp;3;SPMamp;;SPMamp;release area;SPMamp;
<#2258#>Resource Structure Defs<#2258#>
<#2259#>#tex2html_accent_inline3935#<#2259#><#2261#>section<#2261#><#2262#>Resource Structure Defs<#2262#><#2263#><#2263#>
0=<#2264#>Routines concerned: <#2264#>=0
=10 <#1566#>#tex2html_accent_inline3936#<#1566#>(), <#1567#>#tex2html_accent_inline3937#<#1567#>()
#include gemfast.h;SPMgt;
to
##;SPMamp;
##
=1em plus2em minus.5em
;SPMamp;##;SPMamp;
##
;SPMamp;##;SPMamp;
##
;SPMamp;=0pt##
;SPMamp;Define;SPMamp;;SPMamp;Value;SPMamp;;SPMamp;Type;SPMamp;
<#1571#>
<#1571#>
;SPMamp;R_TREE;SPMamp;;SPMamp;0;SPMamp;;SPMamp;ptr to object tree;SPMamp;
;SPMamp;R_OBJECT;SPMamp;;SPMamp;1;SPMamp;;SPMamp;ptr to object struct;SPMamp;
;SPMamp;R_TEDINFO;SPMamp;;SPMamp;2;SPMamp;;SPMamp;ptr to text object;SPMamp;
;SPMamp;R_ICONBLK;SPMamp;;SPMamp;3;SPMamp;;SPMamp;ptr to icon;SPMamp;
;SPMamp;R_BITBLK;SPMamp;;SPMamp;4;SPMamp;;SPMamp;ptr to BITBLK;SPMamp;
;SPMamp;R_STRING;SPMamp;;SPMamp;5;SPMamp;;SPMamp;ptr to string;SPMamp;
;SPMamp;R_IMAGEDATA;SPMamp;;SPMamp;6;SPMamp;;SPMamp;ptr to image;SPMamp;
;SPMamp;R_OBSPEC;SPMamp;;SPMamp;7;SPMamp;;SPMamp;ptr to TEDINFO struct;SPMamp;
;SPMamp;R_TEPTEXT;SPMamp;;SPMamp;8;SPMamp;;SPMamp;ptr to text;SPMamp;
;SPMamp;R_TEPTMPLT;SPMamp;;SPMamp;9;SPMamp;;SPMamp;ptr to text mask;SPMamp;
;SPMamp;R_TEPVALID;SPMamp;;SPMamp;10;SPMamp;;SPMamp;ptr to text template;SPMamp;
;SPMamp;R_IBPMASK;SPMamp;;SPMamp;11;SPMamp;;SPMamp;ptr to icon mask;SPMamp;
;SPMamp;R_IBPDATA;SPMamp;;SPMamp;12;SPMamp;;SPMamp;ptr to icon data;SPMamp;
;SPMamp;R_IBPTEXT;SPMamp;;SPMamp;13;SPMamp;;SPMamp;ptr to icon text;SPMamp;
;SPMamp;R_BIPDATA;SPMamp;;SPMamp;14;SPMamp;;SPMamp;ptr to bit pattern;SPMamp;
;SPMamp;R_FRSTR;SPMamp;;SPMamp;15;SPMamp;;SPMamp;addr. of ptr to free string;SPMamp;
;SPMamp;R_FRIMG;SPMamp;;SPMamp;16;SPMamp;;SPMamp;addr. of ptr to free image;SPMamp;
<#2269#>GEM Meta File Format<#2269#>
<#2270#>#tex2html_accent_inline3938#<#2270#><#2272#>section<#2272#><#2273#>GEM Meta File Format<#2273#><#2274#><#2274#>
0=<#2275#>Routines concerned: <#2275#>=0
=10 <#1624#>#tex2html_accent_inline3939#<#1624#>(), <#1625#>#tex2html_accent_inline3940#<#1625#>(), <#1626#>#tex2html_accent_inline3941#<#1626#>()
=.39
<#2277#>#tex2html_accent_inline3942#<#2277#>
by
short mf_header;<#1628#>-1 (0xffff)<#1628#>
short mf_hlength;<#1629#>length of header (24)<#1629#>
short mf_version;<#1630#>version number (usually 101 or 301)<#1630#>
short mf_ndcrcfl;<#1631#>NDC/RC flag (0 or 2)<#1631#>
short mf_extents[4];<#1690#>set with <#1632#>#tex2html_accent_inline3943#<#1632#>()<#1690#>
short mf_pagesz[2];<#1633#>pagesize in 1/10 mm<#1633#>
short mf_coords[4];<#1634#>coordinate system<#1634#>
short mf_imgflag;<#1635#>≠0, if bit image<#1635#>
short mf_resvd[9];<#1636#>unused<#1636#>
} METAHDR;=0.44
All values in metafiles are in Intel format (Little Endian).
<#2279#>GEM IMG File Format<#2279#>
<#2280#>#tex2html_accent_inline3946#<#2280#><#2282#>section<#2282#><#2283#>GEM IMG File Format<#2283#><#2284#><#2284#>
=.39
<#2286#>#tex2html_accent_inline3947#<#2286#>
by
short im_version;<#1640#>version number (usually 1)<#1640#>
short im_headlength;<#1641#>length of header<#1641#>
short im_nplanes;<#1642#>number of planes<#1642#>
short im_patlen;<#1643#>no. of bytes for ``pattern run''<#1643#>
short im_pixwidth;<#1644#>width of pixel (mm/1000)<#1644#>
short im_pixheight;<#1645#>height of pixel (mm/1000)<#1645#>
short im_scanwidth;<#1646#>width of ``scan-line'' in pixel<#1646#>
short im_nlines;<#1647#>number of ``scan-lines''<#1647#>
} IMGHEADER;=0.44
fill2=
Copyright © 1991 Frank Ridderbusch
This multicolumn format was originally designed
by Stephen Gildea and modified to fit the Atari ST
system variables by Frank Ridderbusch
Permission is granted to make and distribute copies of
this card provided the copyright notice and this permission notice
are preserved on all copies.
ac
ac
''